package com.achievement.mappings.paper;

import com.achievement.domain.dto.PaperDTO;
import com.achievement.domain.dto.PaperEmbodyDTO;
import com.achievement.domain.dto.PaperIncludeDTO;
import com.achievement.domain.dto.PaperReshipDTO;
import com.achievement.domain.entity.PaperEmbodyEntity;
import com.achievement.domain.entity.PaperEntity;
import com.achievement.domain.entity.PaperIncludeEntity;
import com.achievement.domain.entity.PaperReshipEntity;
import com.achievement.domain.vo.PaperIncludeVO;
import com.achievement.domain.vo.PaperReshipVO;
import com.achievement.domain.vo.PaperVO;
import org.mapstruct.Mapper;

/**
 * PaperMapping
 */
@Mapper(componentModel = "spring")
public interface PaperMapping {

    PaperEntity dto2Entity(PaperDTO dto);

    PaperVO entity2Vo(PaperEntity dto);

    PaperReshipEntity PaperReshipDto2Entity(PaperReshipDTO dto);

    PaperIncludeEntity PaperIncludeDto2Entity(PaperIncludeDTO dto);

    PaperReshipVO PaperReshipEntity2Vo(PaperReshipEntity paperReshipEntity);

    PaperIncludeVO PaperIncludeEntity2Vo(PaperIncludeEntity paperIncludeEntity);

    PaperEmbodyEntity PaperEmbodyDto2Entity(PaperEmbodyDTO dto);

    PaperIncludeEntity entity2PaperInclude(PaperEmbodyEntity entity);
}
